Web Fetch APIのユーザー保護機構
を抑止する
ヘッダー関連の各種の規定により、cookieをはじめとする、リクエストヘッダーに含まれるユーザー機密情報をスクリプトから隠蔽する
ことで、ユーザーの保護を図っていると言える。
なお、ウェブサイトの機密情報の保護は、サービス提供者の利権を守るだけでなく、ユーザー自身の個人情報を保護する上でも重要であるという点を忘れずに
この仕様書のページ内検索で、以下の単語を検索し、該当場所の周辺をチェックした
secure
security
block
機密リソースの保護
機密リソースの保護
機密リソースの保護
ヘッダーに含まれる機密情報をユーザーから秘匿するための制限
一部の接頭辞から始まるヘッダーをユーザーから隠蔽する
ユーザーエージェント開発者にセキュリティの懸念なく触れるヘッダーを提供するために設定されているようにも見える
A forbidden response-header name is a header name that is a byte-case-insensitive match for one of:
Set-Cookie
Set-Cookie2
Alternatively, if bar.invalid wanted to share all its response headers, for requests that do not include credentials, it could use * as value for the Access-Control-Expose-Headers response header. If the request would have included credentials, the response header names would have to be listed explicitly and * could not be used.
credentialsは、Access-Control-Expose-Headersに含めることができない
違反すればエラーになる?
fetchのredirectパラメータによって、redirectした時に返答を無効化できる設定が可能
よく知られた用法のport番号には接続しないようにする
単にウェブサイト開発者の利便性の問題かな?それともそういうアタックの仕方があるのかな?